package composants
{
	import mx.core.UIComponent;
	import flash.text.TextField;
	import flash.text.TextFormat;


	/**
	 *
	 * Classe qui émet un angle par ses coordonées
	 */
	public class Angle extends UIComponent
	{
		/**
		 * abscisse
		 */
		public var x1:int;
		/**
		 * ordonnée
		 */
		public var y1:int;
		/**
		 * Instance d'objet TextField
		 */
		public var mText:TextField;
		
		/**
		 * Constructeur
		 * @param px abscisse
		 * @param py ordonnée
		 * @param t valeur
		 */
		public function Angle(px:int, py:int, t:int)
		{
			x1=px;
			y1=py;

			mText=new TextField();
			mText.x=x1 + 5;
			mText.y=y1 + 2;

			var format:TextFormat=new TextFormat();
			format.font="Verdana";
			format.color=0x0000FF;
			format.bold=true;
			format.size=14;

			mText.defaultTextFormat=format;

			mText.text="Angle " + t.toString();
			mText.mouseEnabled=false;
			addChild(mText);

			cacheText();
		}

		/**
		 * Affichage du texte
		 */
		public function afficheText():void
		{
			mText.visible=true;
		}

		/**
		 * Cache le texte
		 */
		public function cacheText():void
		{
			mText.visible=false;
		}

		/**
		 * Réalisation du dessin via les coordonnées
		 */
		public function paint():void
		{
			graphics.clear();
			graphics.lineStyle(1, 0x0000FF, 1);
			graphics.drawCircle(x1, y1, 7);
			afficheText();
		}

		/**
		 * Réalisation de dessin
		 */
		public function paintSelect():void
		{
			graphics.clear();
			graphics.lineStyle(2, 0xFF0000, 1);
			graphics.drawCircle(x1, y1, 12);
			graphics.beginFill(0xFF0000, 1)
			graphics.lineStyle(1, 0x0000FF, 1);
			graphics.drawCircle(x1, y1, 7);
			afficheText();
		}
	}
}